package com.exercises.service;

import com.exercises.object.Student;
import com.exercises.object.StudentVO;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * --- 代码敲对！ ---
 *
 * @author CCCccc
 * @create 2025/8/15
 * 备注：学生业务层接口，用于定义各种对学生操作的方法
 */
public interface StudentService {
    // 根据id查询学生
    Student getStudentById(int id);

    // 查询所有学生
    ArrayList<Student> getAllStudents();

    // 根据年龄或姓名查询学生
    ArrayList<Student> getStudentByAgeOrName(HashMap<String, String> map);

    // 添加学生
    boolean addStudent(Student student);

    // 根据id修改学生
    boolean updateStudent(Student student);

    // 根据id批量删除学生
    boolean deleteStudentBatch(int[] ids);

    // 查询学生和班级
    ArrayList<StudentVO> getStudentWithClassroom();

    // 查询学生和课程以及任课老师
    ArrayList<StudentVO> getStudentWithSubject();

    // 查询学生和班级（单表）
    ArrayList<StudentVO> getStudentWithClassroomv2();

    // 查询学生和课程（单表）
    StudentVO getStudentWithSubjectv2(int id);
}
